<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>数组去重</title>
    <script>
      //数组去重
      /*方式（1）：使用Set 和扩展运算符
       *方式（2）：filter, 与indexOf 配合使用
       *方式（3）：循环
       */
      function keepArrUnique(arr) {
        /*1，indexOf获取元素第一次出现的索引
         *2，过滤出数值第一次出现的索引值与元素下标序号匹配的值，
         *即达到去重效果
         */
        // var newArr = [...new Set(arr)];
        var newArr = arr.filter((m, index, arr) => arr.indexOf(m) === index);
        console.log("原数组：", arr, "\n去重数组：", newArr);
      }
      keepArrUnique([1, 1, 1, 2, 2, 3, 4, 5, 6, 3, 4, 2, 4, 1]);
      //原数组： (14) [1, 1, 1, 2, 2, 3, 4, 5, 6, 3, 4, 2, 4, 1]
      //去重数组： (6) [1, 2, 3, 4, 5, 6]
    </script>
  </head>
  <body></body>
</html>
